home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / cgehrd.z / cgehrd
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. CCCCGGGGEEEEHHHHRRRRDDDD((((3333FFFF))))                                                          CCCCGGGGEEEEHHHHRRRRDDDD((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CGEHRD - reduce a complex general matrix A to upper Hessenberg form H by
  10.      a unitary similarity transformation
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE CGEHRD( N, ILO, IHI, A, LDA, TAU, WORK, LWORK, INFO )
  14.  
  15.          INTEGER        IHI, ILO, INFO, LDA, LWORK, N
  16.  
  17.          COMPLEX        A( LDA, * ), TAU( * ), WORK( LWORK )
  18.  
  19. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  20.      CGEHRD reduces a complex general matrix A to upper Hessenberg form H by a
  21.      unitary similarity transformation:  Q' * A * Q = H .
  22.  
  23.  
  24. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  25.      N       (input) INTEGER
  26.              The order of the matrix A.  N >= 0.
  27.  
  28.      ILO     (input) INTEGER
  29.              IHI     (input) INTEGER It is assumed that A is already upper
  30.              triangular in rows and columns 1:ILO-1 and IHI+1:N. ILO and IHI
  31.              are normally set by a previous call to CGEBAL; otherwise they
  32.              should be set to 1 and N respectively. See Further Details.
  33.  
  34.      A       (input/output) COMPLEX array, dimension (LDA,N)
  35.              On entry, the N-by-N general matrix to be reduced.  On exit, the
  36.              upper triangle and the first subdiagonal of A are overwritten
  37.              with the upper Hessenberg matrix H, and the elements below the
  38.              first subdiagonal, with the array TAU, represent the unitary
  39.              matrix Q as a product of elementary reflectors. See Further
  40.              Details.  LDA     (input) INTEGER The leading dimension of the
  41.              array A.  LDA >= max(1,N).
  42.  
  43.      TAU     (output) COMPLEX array, dimension (N-1)
  44.              The scalar factors of the elementary reflectors (see Further
  45.              Details). Elements 1:ILO-1 and IHI:N-1 of TAU are set to zero.
  46.  
  47.      WORK    (workspace/output) COMPLEX array, dimension (LWORK)
  48.              On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
  49.  
  50.      LWORK   (input) INTEGER
  51.              The length of the array WORK.  LWORK >= max(1,N).  For optimum
  52.              performance LWORK >= N*NB, where NB is the optimal blocksize.
  53.  
  54.      INFO    (output) INTEGER
  55.              = 0:  successful exit
  56.              < 0:  if INFO = -i, the i-th argument had an illegal value.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCGGGGEEEEHHHHRRRRDDDD((((3333FFFF))))                                                          CCCCGGGGEEEEHHHHRRRRDDDD((((3333FFFF))))
  71.  
  72.  
  73.  
  74. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  75.      The matrix Q is represented as a product of (ihi-ilo) elementary
  76.      reflectors
  77.  
  78.         Q = H(ilo) H(ilo+1) . . . H(ihi-1).
  79.  
  80.      Each H(i) has the form
  81.  
  82.         H(i) = I - tau * v * v'
  83.  
  84.      where tau is a complex scalar, and v is a complex vector with v(1:i) = 0,
  85.      v(i+1) = 1 and v(ihi+1:n) = 0; v(i+2:ihi) is stored on exit in
  86.      A(i+2:ihi,i), and tau in TAU(i).
  87.  
  88.      The contents of A are illustrated by the following example, with n = 7,
  89.      ilo = 2 and ihi = 6:
  90.  
  91.      on entry,                        on exit,
  92.  
  93.      ( a   a   a   a   a   a   a )    (  a   a   h   h   h   h   a ) (     a
  94.      a   a   a   a   a )    (      a   h   h   h   h   a ) (     a   a   a   a
  95.      a   a )    (      h   h   h   h   h   h ) (     a   a   a   a   a   a )
  96.      (      v2  h   h   h   h   h ) (     a   a   a   a   a   a )    (      v2
  97.      v3  h   h   h   h ) (     a   a   a   a   a   a )    (      v2  v3  v4  h
  98.      h   h ) (                         a )    (                          a )
  99.  
  100.      where a denotes an element of the original matrix A, h denotes a modified
  101.      element of the upper Hessenberg matrix H, and vi denotes an element of
  102.      the vector defining H(i).
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.